package hot

/*
原题链接:
https://leetcode.cn/problems/reverse-linked-list/

206. 反转链表
给你单链表的头节点 head ，请你反转链表，并返回反转后的链表。

示例 1：
输入：head = [1,2,3,4,5]
输出：[5,4,3,2,1]

示例 2：
输入：head = [1,2]
输出：[2,1]

示例 3：
输入：head = []
输出：[]
*/
func reverseList(head *ListNode) *ListNode {
	var prev *ListNode
	curr := head

	for curr != nil {
		next := curr.Next //获取当前节点的下一个节点
		curr.Next = prev  //当前节点指向前一个节点
		prev = curr       //pre向后移动一位
		curr = next       //cur向后移动一位
	}
	return prev
}
